package com.campus.help.service;

import com.campus.help.common.Result;
import com.campus.help.dto.AdminLoginDTO;
import com.campus.help.entity.Admin;

import java.util.Map;

/**
 * 管理员服务接口
 */
public interface AdminService {
    
    /**
     * 管理员登录
     */
    Result login(AdminLoginDTO loginDTO);
    
    /**
     * 根据用户名获取管理员信息
     */
    Admin getByUsername(String username);
    
    /**
     * 根据ID获取管理员信息
     */
    Admin getById(Long id);
    
    /**
     * 更新最后登录时间
     */
    void updateLastLoginTime(Long adminId);
    
    /**
     * 更新管理员密码
     */
    boolean updatePassword(Long adminId, String newPassword);
    
    /**
     * 获取系统统计信息
     */
    Map<String, Object> getSystemStats();
    
    /**
     * 获取管理员列表
     */
    Map<String, Object> getAdminList(int page, int size, String keyword, Integer role, Integer status);
    
    /**
     * 更新管理员状态
     */
    boolean updateAdminStatus(Long adminId, Integer status, Long updateBy);
    
    /**
     * 重置管理员密码
     */
    boolean resetPassword(Long adminId, Long updateBy);
}
